package com.example.basic.web.mapper.device;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.basic.base.BaseEntityMapper;
import com.example.basic.web.model.device.Device;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 系统操作日志表 Mapper 接口
 * </p>
 *
 */
@Mapper
public interface DeviceMapper extends BaseEntityMapper<Device> {

    /**
     * 应用终端列表
     * @param queryPage 分页
     * @param deviceType 设备类型 0-全部
     * @param isAll 是否查询全部 0-否，1-是
     * @param status 状态 0-全部
     * @return
     */
    IPage<Device> queryList(Page<Device> queryPage, @Param("deviceType") String deviceType, @Param("isAll") String isAll, @Param("status") String status);

    /**
     * 应用终端详情
     * @param devicePoint 设备编码
     * @return
     */
    Device detail(@Param("devicePoint") String devicePoint);

    /**
     * 获取最大序号
     * @return
     */
    Integer getMaxSortNo();

    /**
     * 首页设备情况
     * @return
     */
    List<Map> homeDeviceReport();

    /**
     * 查询未使用的接驳台
     *
     * @param deviceAddress
     * @param deviceType
     * @return
     */
    Device findUnUseDockStation(@Param("deviceAddress") String deviceAddress, @Param("deviceType") String deviceType);

    /**
     * 获取工作中的接驳台
     * @param deviceAddress
     * @return
     */
    Device findWorkDevice(@Param("deviceAddress") String deviceAddress);
}